﻿using System;
using System.ComponentModel;
using System.Xml.Serialization;
using DevExpress.Xpo;
using DevExpress.Xpo.Metadata;
using DevExpress.Xpo.Helpers;
using DevExpress.Data.Filtering;
using DevExpress.ExpressApp;
using DevExpress.Persistent.Base;
using DevExpress.Persistent.BaseImpl;
using DevExpress.Persistent.Validation;
namespace Top.Module.Domain
{
    [DefaultClassOptions]
    [Persistent("TopSubPurchaseOrder")]
    public class SubPurchaseOrder : BaseObject
    {
        //begin
        public SubPurchaseOrder()
        {}
        public SubPurchaseOrder(Session session) : base(session)
        {}
        public override void AfterConstruction(){base.AfterConstruction();}

        private string _Status;
        public string Status
        {
            get
            {
                return _Status;
            }
            set
            {
                SetPropertyValue("Status", ref _Status, value);
            }
        }
        private decimal _RefundFee;
        public decimal RefundFee
        {
            get
            {
                return _RefundFee;
            }
            set
            {
                SetPropertyValue("RefundFee", ref _RefundFee, value);
            }
        }
        private string _Id;
        public string Id
        {
            get
            {
                return _Id;
            }
            set
            {
                SetPropertyValue("Id", ref _Id, value);
            }
        }
        private string _FenxiaoId;
        public string FenxiaoId
        {
            get
            {
                return _FenxiaoId;
            }
            set
            {
                SetPropertyValue("FenxiaoId", ref _FenxiaoId, value);
            }
        }
        private string _SubTcOrderId;
        public string SubTcOrderId
        {
            get
            {
                return _SubTcOrderId;
            }
            set
            {
                SetPropertyValue("SubTcOrderId", ref _SubTcOrderId, value);
            }
        }
        private string _TcOrderId;
        public string TcOrderId
        {
            get
            {
                return _TcOrderId;
            }
            set
            {
                SetPropertyValue("TcOrderId", ref _TcOrderId, value);
            }
        }
        private string _SkuId;
        public string SkuId
        {
            get
            {
                return _SkuId;
            }
            set
            {
                SetPropertyValue("SkuId", ref _SkuId, value);
            }
        }
        private string _OldSkuProperties;
        public string OldSkuProperties
        {
            get
            {
                return _OldSkuProperties;
            }
            set
            {
                SetPropertyValue("OldSkuProperties", ref _OldSkuProperties, value);
            }
        }
        private string _ItemId;
        public string ItemId
        {
            get
            {
                return _ItemId;
            }
            set
            {
                SetPropertyValue("ItemId", ref _ItemId, value);
            }
        }
        private string _ItemOuterId;
        public string ItemOuterId
        {
            get
            {
                return _ItemOuterId;
            }
            set
            {
                SetPropertyValue("ItemOuterId", ref _ItemOuterId, value);
            }
        }
        private string _SkuOuterId;
        public string SkuOuterId
        {
            get
            {
                return _SkuOuterId;
            }
            set
            {
                SetPropertyValue("SkuOuterId", ref _SkuOuterId, value);
            }
        }
        private string _SkuProperties;
        public string SkuProperties
        {
            get
            {
                return _SkuProperties;
            }
            set
            {
                SetPropertyValue("SkuProperties", ref _SkuProperties, value);
            }
        }
        private long _Num;
        public long Num
        {
            get
            {
                return _Num;
            }
            set
            {
                SetPropertyValue("Num", ref _Num, value);
            }
        }
        private string _Title;
        public string Title
        {
            get
            {
                return _Title;
            }
            set
            {
                SetPropertyValue("Title", ref _Title, value);
            }
        }
        private decimal _Price;
        public decimal Price
        {
            get
            {
                return _Price;
            }
            set
            {
                SetPropertyValue("Price", ref _Price, value);
            }
        }
        private string _SnapshotUrl;
        public string SnapshotUrl
        {
            get
            {
                return _SnapshotUrl;
            }
            set
            {
                SetPropertyValue("SnapshotUrl", ref _SnapshotUrl, value);
            }
        }
        private DateTime _Created;
        public DateTime Created
        {
            get
            {
                return _Created;
            }
            set
            {
                SetPropertyValue("Created", ref _Created, value);
            }
        }
        private decimal _TotalFee;
        public decimal TotalFee
        {
            get
            {
                return _TotalFee;
            }
            set
            {
                SetPropertyValue("TotalFee", ref _TotalFee, value);
            }
        }
        private decimal _DistributorPayment;
        public decimal DistributorPayment
        {
            get
            {
                return _DistributorPayment;
            }
            set
            {
                SetPropertyValue("DistributorPayment", ref _DistributorPayment, value);
            }
        }
        private decimal _BuyerPayment;
        public decimal BuyerPayment
        {
            get
            {
                return _BuyerPayment;
            }
            set
            {
                SetPropertyValue("BuyerPayment", ref _BuyerPayment, value);
            }
        }
        private PurchaseOrder _PurchaseOrder;
        [Association("PurchaseOrderSubPurchaseOrders", typeof(PurchaseOrder))]
        public PurchaseOrder PurchaseOrder
        {
            get
            {
                return _PurchaseOrder;
            }
            set
            {
                SetPropertyValue("PurchaseOrder", ref _PurchaseOrder, value);
            }
        }
        //end

    }
}
